package cn.dglydrpy.study.spring.ioc.annotation;

import javax.annotation.Resource;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;

/**
 * @Description:演示使用@Resource进行依赖注入的常见情况 
 *              1.指定name属性的,直接getBean(name),如果没找到就报错!
 *              2.未指定任何属性的,按类型找到其唯一子类进行注入,如果找到多个就报错!
 * @author:LY_飘涯
 * @date:2019年4月18日 下午9:15:24 
 * @version:1.0
 */
@Controller
public class ResourceDIBean {
	
	//具体类
	@Resource
	private Sky sky1;  //beanID:sky
	//带别名的具体类  以name作为beanid直接取,如name匹配不到beanid直接报错!
	@Resource(name = "blueSea")
	private Sea sea;  //beanID:blueSea
	//继承  多个子类注入时用别名区分,区分不了就报错!
	@Resource(name = "student") //teacher
	private Person student3; //beanID:student
	//接口
	@Resource
	private IService serviceImpl4; //beanID:serviceImpl
	//带别名的接口
	@Resource(name = "myDao")
	private IDAO daoImpl5;  //beanID:myDao
	
	public void show() {
		System.out.println("hello!");
	}
}
